package com.ruoyi.contract.mapper;

import java.util.List;
import com.ruoyi.contract.domain.InvoiceAttachment;

/**
 * 发票附件Mapper接口
 * 
 * @author ruoyi
 * @date 2024-10-18
 */
public interface InvoiceAttachmentMapper 
{
    /**
     * 查询发票附件
     * 
     * @param invoiceAttachmentId 发票附件主键
     * @return 发票附件
     */
    public InvoiceAttachment selectInvoiceAttachmentByInvoiceAttachmentId(Long invoiceAttachmentId);

    /**
     * 根据发票id查询发票附件
     *
     * @param invoiceId 发票附件外键
     * @return 发票附件
     */
    public List<InvoiceAttachment> selectInvoiceAttachmentByInvoiceId(Long invoiceId);

    /**
     * 查询发票附件列表
     * 
     * @param invoiceAttachment 发票附件
     * @return 发票附件集合
     */
    public List<InvoiceAttachment> selectInvoiceAttachmentList(InvoiceAttachment invoiceAttachment);

    /**
     * 新增发票附件
     * 
     * @param invoiceAttachment 发票附件
     * @return 结果
     */
    public int insertInvoiceAttachment(InvoiceAttachment invoiceAttachment);

    /**
     * 修改发票附件
     * 
     * @param invoiceAttachment 发票附件
     * @return 结果
     */
    public int updateInvoiceAttachment(InvoiceAttachment invoiceAttachment);

    /**
     * 删除发票附件
     * 
     * @param invoiceId 发票主键
     * @return 结果
     */
    public int deleteInvoiceAttachmentByInvoiceId(Long invoiceId);

    /**
     * 批量删除发票附件
     * 
     * @param invoiceAttachmentIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteInvoiceAttachmentByInvoiceAttachmentIds(Long[] invoiceAttachmentIds);

    /**
     * 批量删除发票附件
     *
     * @param invoiceIds 需要删除的数据主键集合,发票id，外键
     * @return 结果
     */
    public int deleteInvoiceAttachmentByInvoiceIds(Long[] invoiceIds);
}
